package com.xhui.vimarket.zkplus.zul.attr.bean;

import java.util.List;
import java.util.Map;

import com.xhui.crm.common.vo.NodeVo;

/**
 * AttrTmpl.
 * 
 * @author wuyx
 * @version Revision 1.0.0
 * 
 */
public interface AttrTmpl {
    
    /**
     * getIdx.
     * 
     * @return long
     */
    long getIdx();
    
    /**
     * getAttrId.
     * 
     * @return long
     */
    long getAttrId();
    
    
    /**
     * getName.
     * 
     * @return String
     */
    String getName();
    
    /**
     * getAttrTmplList.
     * 
     * @return List<AttrTmpl>
     */
    List<AttrTmpl> getAttrTmplList();
    
    /**
     * getAttrTmplList.
     * 
     * @param i int
     * @return AttrTmpl
     */
    AttrTmpl getAttrTmplList(int i);
    
    /**
     * setAttrTmplList.
     * 
     * @param attrTmplList List<AttrTmpl>
     */
    void setAttrTmplList(List<AttrTmpl> attrTmplList);
    
    /**
     * setName.
     * 
     * @param name String
     */
    void setName(String name);
    
    /**
     * getDisplayMode.
     * 
     * @return String
     */
    String getDisplayMode();
    
    /**
     * getDisplayStyle.
     * 
     * @return String
     */
    String getDisplayStyle();
    
    /**
     * String.
     * 
     * @return int
     */
    int getAttrTmplListCount();
    
    /**
     * getAttrCd.
     * 
     * @return String
     */
    String getAttrCd();
    
    /**
     * getHint.
     * 
     * @return String
     */
    String getHint();
    
    /**
     * isDisplay.
     * 
     * @return boolean
     */
    boolean isDisplay();
    
    /**
     * isReadOnly.
     * 
     * @return boolean
     */
    boolean isReadOnly();
    
    /**
     * getBindExpr.
     * 
     * @return String
     */
    String getBindExpr();
    
    /**
     * getValidExpr.
     * 
     * @return String
     */
    String getValidExpr();
    
    /**
     * getValueCode.
     * 
     * @return String
     */
    String getValueCode();
    
    /**
     * getValueLength.
     * 
     * @return int
     */
    int getValueLength();
    
    /**
     * getDefaultValue.
     * 
     * @return String
     */
    String getDefaultValue();
    
    /**
     * getDefaultValueName.
     * 
     * @return String
     */
    String getDefaultValueName();
    
    /**
     * getValueFrom.
     * 
     * @return String
     */
    String getValueFrom();
    
    /**
     * getValueTo.
     * 
     * @return String
     */
    String getValueTo();
    
    /**
     * String.
     * 
     * @return String
     */
    String getMinNum();
    
    /**
     * getMaxNum.
     * 
     * @return String
     */
    String getMaxNum();
    
    /**
     * getXAddr.
     * 
     * @return int
     */
    int getXAddr();
    
    /**
     * setXAddr.
     * 
     * @param xAddr int
     */
    void setXAddr(int xAddr);
    
    /**
     * getYAddr.
     * 
     * @return int
     */
    int getYAddr();
    
    /**
     * getValueParam.
     * 
     * @return String
     */
    String getValueParam();
    
    /**
     * getAttrInstId.
     * 
     * @return long
     */
    long getAttrInstId();
    
    /**
     * setJavaCode.
     * 
     * @param javaCode String
     */
    void setJavaCode(String javaCode);
    
    /**
     * getJavaCode.
     * 
     * @return String
     */
    String getJavaCode();
    
    /**
     * setValueList.
     * 
     * @param valueList List<NodeVo>
     */
    void setValueList(final List<NodeVo> valueList);
    
    /**
     * getValueList.
     * 
     * @return List<NodeVo>
     */
    List<NodeVo> getValueList();
    
    /**
     * 
     * .
     * 
     * @param attrValueMapList List<Map<String, Object>>
     * @author g.huangwch
     * 2011-10-14 g.huangwch
     */
    void setAttrValueMapList(final List<Map<String, Object>> attrValueMapList);
    
    /**
     * 
     * .
     * 
     * @return List<Map<String, Object>>
     * @author g.huangwch
     * 2011-10-14 g.huangwch
     */
    List<Map<String, Object>> getAttrValueMapList();
    
    /**
     * getParam1.
     * 
     * @return String
     */
    String getParam1();
    
    /**
     * getParam2.
     * 
     * @return String
     */
    String getParam2();
    
    /**
     * 是否必填.
     * 
     * @return boolean
     * @author wuyx
     * 2011-3-22 wuyx 
     */
    boolean isCantNull();
    
    /**
     * 是否必填.
     * 支持继承的关系上的配置，比如销售品、产品
     * 
     * @return boolean
     * @author wuyx
     * 2011-3-22 wuyx 
     */
    boolean isCantNull(Object entity);
    
    /**
     * 是否必填.
     * 
     * @param flag boolean
     * @author wuyx
     * 2011-3-22 wuyx 
     */
    void setCantNull(boolean flag);
    
    /**
     * 排序.
     * 
     * @return int
     * @author wuyx
     * 2011-3-31 wuyx 
     */
    int getOrder();
    
    /**
     * 占有宽度.
     * 
     * @return int
     * @author wuyx
     * 2011-3-31 wuyx 
     */
    int getWidth();
    
    /**
     * 占有宽度.
     * 
     * @param width int
     * @author wuyx
     * 2011-3-31 wuyx 
     */
    void setWidth(int width);
    
    /**
     * 占有高度.
     * 
     * @return int
     * @author wuyx
     * 2011-3-31 wuyx 
     */
    int getHeight();
    
    /**
     * 上次下标（0开始）.
     * 
     * @return int
     * @author wuyx
     * 2011-4-22 wuyx 
     */
    int getLastIndex();
    
    /**
     * 上次下标（0开始）.
     * 
     * @param lastIndex int
     * @author wuyx
     * 2011-4-22 wuyx 
     */
    void setLastIndex(int lastIndex);
    
    /**
     * 每页数量.
     * 
     * @return int
     * @author wuyx
     * 2011-4-22 wuyx 
     */
    int getPageSize();
    
    /**
     * .
     * 
     * @param flag boolean
     * @author wuyx
     * 2011-6-22 wuyx 
     */
    void setFlag(boolean flag);
    
    /**
    * .
    * 
    * @return boolean
    * @author wuyx
    * 2011-6-22 wuyx 
    */
    boolean isFlag();
    
    /**
     * setOp.
     * 
     * @param op String
     */
    void setOp(String op);
    
    /**
     * getOp.
     * 
     * @return String
     */
    String getOp();
    /**
     * getDefProdOfferId.
     * 
     * @return long
     */
    long getDefProdOfferId();
    
    /**
     * setComponetCode.
     * 
     * @param compCode String
     */
    void setComponetCode(String componetCode);
    
    /**
     * getComponetCode.
     * 
     * @return String
     */
    String getComponetCode();
    
    /**
     * .
     * 
     * @return boolean
     */
    boolean isNeedCheckRight();
    
}
